package com.imesne.office.excel.write;

import com.imesne.office.excel.model.ExcelRow;

import java.util.List;

/**
 * Created by liyd on 17/7/6.
 */
public interface ExcelSaxWriteHandler {

    /**
     * 是否创建新的sheet，第1个sheet默认创建
     * 返回true时将创建新的sheet，后面的数据将写入到该sheet直到再次创建新sheet
     *
     * @param totalRowNum
     * @param sheetRowNum
     * @return
     */
    boolean isNewSheet(int totalRowNum, int sheetRowNum);

    /**
     * 标题行，返回null时不创建标题
     * 默认第1行为标题，当创建新的sheet时每个sheet都会创建标题
     *
     * @return
     */
    ExcelRow getTitleRows(int sheetNum);

    /**
     * 数据行
     * 每次返回一个数据list，list大小由自己决定
     * 将一直调用该方法直到返回null或list.isEmpty() == true
     *
     * @param count
     * @param totalRowNum
     * @param sheetRowNum
     * @return
     */
    List<ExcelRow> getRows(int count, int totalRowNum, int sheetRowNum);
}
